With the tremendous growth of data processing by means of independent localized data processing devices, such as personal computers and minicomputers, data networks have evolved to connect together physically separated devices and to permit digital communication among the various devices connected to the network.
There are several types of networks, including local area networks (LANs) and wide area networks (WANs). A LAN is a limited area network and the data devices connected to a LAN are generally located within the same building. The LAN typically consists of a transmission medium, such as a coaxial cable or a twisted pair which connects together various computers, servers, printers, modems and other digital devices. Each of the devices, which are collectively referred to as "nodes", is connected to the transmission medium at an address which uniquely identifies the node and is used to route data from one node to another.
The WAN is used to connect devices together which are located at distances that are typically larger than the distances spanned by LANS. WAN networks often utilize existing public telephone networks and, thus can connect nodes located at great distances.
LANs and WANS are often connected together in various configurations to form "enterprise" networks which may span different buildings or locations or extend across an entire continent. Enterprise networks are convenient for several reasons: they allow resource sharing --programs, data and equipment are available to all nodes connected to the network without regard to the physical location of the resource and the user. Enterprise networks may also provide reliability by making several redundant sources of data available. For example, important data files can be replicated on several storage devices so that, if one of the files is unavailable, for example, due to equipment failure, the duplicate files are available.
In enterprise networks information to be sent from one node to another is generally divided into discrete messages or "packets" and the packets are transmitted between nodes in accordance with a predefined "protocol". In this context a "protocol" consists of a set of rules or procedures defining how the separate nodes are supposed to interact with each other.
In order to reduce design complexity, most networks are organized as a series of "layers" or "levels" so that information passing from one node to another is transmitted from layer to layer. Within each layer, predetermined services or operations are performed and the layers communicate with each other by means of predefined protocols. The purpose for the layered design is to allow a given layer to offer selected services to other layers by means of a standardized interface while shielding those layers frown the details of actual implementation within the layer.
In an attempt to standardize network architectures (the overall name for the sets of layers and protocols used within a network), a generalized model has been proposed by the International Standards Organization (ISO) as a first step towards international standardization of the various protocols now in use. The model is called the open systems interconnection (OSI) reference model because it deals with the interconnection of systems that are "open" for communication with other systems. The proposed OSI model has seven layers which are termed (in the order which they interface with each other) the "physical", "data link", "network", "transport", "session", "presentation" and "application" layers. The purpose of the OSI model is to attempt to standardize the processes conducted within each layer.
In accordance with the OSI model, the processes carried out in the physical layer are concerned with the transmission of raw data bits over a communication channel. The processes carried out in the data link layer manipulate the raw data bit stream and transform it into a data stream that appears free of transmission errors. The latter task is accomplished by breaking the transmitted data into data frames and transmitting the frames sequentially accompanied with error correcting mechanisms for detecting or correcting errors.
The network layer processes determine how data packets are routed from the data source to the data destination by selecting one of many alternative paths through the network. The function of the transport layer processes is to accept a data stream from a session layer, split it up into smaller units (if necessary), pass these smaller units to the network layer, and to provide appropriate mechanisms to ensure that the units all arrive correctly at the destination, with no sequencing errors, duplicates or missing data.
The session layer processes allow users on different machines to establish "sessions" or "dialogues" between themselves. A session allows ordinary data transport between the communicating nodes, but also provides enhanced services in some applications, such as dialogue control, token management and synchronization. The presentation layer performs certain common functions that are requested sufficiently often to warrant finding a general solution for them, for example, encoding data into a standard format, performing encryption and decryption and other functions. Finally, the application protocol layer contains a variety of protocols that are commonly needed, such as database access, file transfer, etc.
The layers are arranged in order to form a protocol "stack" for each node and the stacks are connected together at the physical level end. Thus, data transmission through the network consists of passing information down through one stack across the physical communication link to another protocol stack and passing the information up the other stack to the second node.
While the enterprise network works well, the recent proliferation in small portable data processing devices has lead to the rapid evolution of the wireless WAN network which can connect small mobile terminals to a land-based station and, in turn, to one or more enterprise networks. A typical architecture of a wireless WAN network comprises a number of mobile terminals connected by radio links to a base station. The base station is then, in turn, connected to a host computer or to an enterprise network by means of land lines.
Since wireless WAN networks involve at least one radio link, they exhibit characteristics of relatively low bandwidth and throughput when compared to ordinary enterprise networks. In addition, due to the large error rates involved in the radio link and the consequent necessity for retransmissions, the latency of the wireless network (the time which is taken to transmit a signal from one data transmission terminal to another and return an acknowledgement) is also quite high. Due to these characteristics, it has been found that it is inefficient, and in some cases, impossible to use standard communications protocols used in enterprise networks over wireless wide area networks. In particular, attempts to use common enterprise network protocols which were typically designed for much faster networks have resulted in excessive network traffic over the wireless WAN.
The conventional solution to this problem is to use specialized protocols for those networks which involve connections between a wireless network and various nodes. However, when specialized protocols are used, the protocol is often dependent on the exact network configuration. Significant additional development time is then often required to connect nodes to wireless WANs because custom protocol converters or gateways are needed. In addition, the use of specialized protocols often means that end-to-end reliable communication services are not available. Finally, existing network applications must often be reworked in order to utilize the specialized protocols.
Consequently, a method and apparatus is needed for networks which involve wireless WANs which method and apparatus will allow the use of standardized protocols to interface nodes with the wireless network while taking into account the special characteristics of the wireless WAN.
Further, tire method and apparatus must operate transparently with respect to both application programs in the nodes and the wireless network. Such a method will allow existing application programs to be used unmodified with the wireless network.